
# pyenv可以帮助你在一台开发机上建立多个版本的python环境， 并提供方便的切换方法。
# virtualenv则提供了一种功能， 就是将一个目录建立为一个虚拟的python环境，
# 这样的话， 用户可以建立多个虚拟环境， 每个环境里面的python版本可以是不同的， 也可以是相同的， 而且环境之间相互独立。

# 主要文档： https://www.cnblogs.com/npumenglei/p/3719412.html

# https://blog.csdn.net/u010104435/article/details/79633067
# https://einverne.github.io/post/2017/04/pyenv.html
#
# 官方文档：https://github.com/pyenv/pyenv


# pyenv virtualenv和virtualenv都是创建虚拟环境，但是创建的路径不同

# pyenv virtualenv 3.8.5 env3.8.5创建后 会出现2个环境（网上文档只有一个）
#  3.8.5/envs/env3.8.5
#  env3.8.5
#  在.pyven/versions/只有env3.8.5一个文件夹

# https://www.liaoxuefeng.com/wiki/1016959663602400/1019273143120480
# $ pip3 install virtualenv
#  创建虚拟环境 virtualenv venv（廖雪峰网站有错）
#  这个虚拟环境在/Users/huangzetao/pythonvenv/venv/lib/python3.6 这个路径下
#  和pyenv virtualenv的路径是不同的

# virtualenv 创建虚拟环境
# 这个和本机的版本一样
# 1.pip3 install virtualenv
# 2.创建虚拟环境 virtualenv venv
# 3.路径在 /Users/huangzetao/venv/bin
# 4.进入bin目录 激活虚拟环境 source activate
# 5.退出虚拟环境 deactivate
# 6.删除某个虚拟环境 整个文件删除即可

# from collections import Iterator 报错
# 原因因为python3.10版本，库collections 停用了，
# 其中就包含了 pygal._compat.py 中的 from collections import Iterator；可以换个低版本python。

# pyenv
# https://www.cnblogs.com/Free-A/p/16158370.html
# https://www.cnblogs.com/npumenglei/p/3719412.html
# 1.安装 curl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
# 如果不能翻墙 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# 2.安装 pyenv-virtualenv插件 有时候git连接不上 网络问题 多试几次
# git clone https://github.com/pyenv/pyenv-virtualenv.git
# 3.配置环境变量
# vim ~/.bashrc
# export PYENV_ROOT="$HOME/.pyenv"
# export PATH="$PYENV_ROOT/bin:$PATH"
# export PATH="$PYENV_ROOT/shims:$PATH"
# eval "$(pyenv init -)"
# eval "$(pyenv virtualenv-init -)"
# source .bashrc
# 4.安装某个python版本
# pyenv install 3.7.0
# 可能会出现报错用这个解决 https://www.jianshu.com/p/53c99d4dd5ad
# 5.创建某个版本的虚拟环境
# pyenv virtualenv 3.7.0 env
# (6.可能需要安装openssl )
# brew install openssl readline sqlite3 xz zlib
# (7.如果出现报错 error: Unexpected output of 'arch' on OSX)
# arch -arch x86_64 env PATH=${PATH/\/opt\/homebrew\/bin:/} pyenv install 3.8.6     正常了
# CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install -v 3.7.0
# https://blog.csdn.net/d_v_k_/article/details/116917733
# https://blog.csdn.net/treasure3334/article/details/115696285
#（8.需要安装xcode）
# (9.两个合成)
# arch -arch x86_64 env PATH=${PATH/\/opt\/homebrew\/bin:/} CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.8.0 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
# 10.zipimport.ZipImportError: can't decompress data; zlib not available
# https://www.jianshu.com/p/a9dd80799f18（三个合成）
# arch -arch x86_64 env
# CFLAGS="-I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
#   LDFLAGS="-L$(brew --prefix openssl)/lib" \
#   pyenv install -v 3.7.1
# 11.激活虚拟环境
# cd /Users/huangzetao/.pyenv/plugins/pyenv-virtualenv
# source ~/.bashrc 
# pyenv activate env3.8.6
# 12.deactivate


# 其他：
# 安装brew
# https://inetyoung.blog.csdn.net/article/details/106599836